iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 19
0
Modern Web

零經驗ASP .NET Core 30 DAY全紀錄系列 第 19

零經驗 .NET Core 30 DAY----- Day19 簡單的 DELETE RECORD

  • 分享至 

  • xImage
  •  

各位好,最近都很準時下班(為了回來生進度),現在是晚間18點30分,要來研究一下LINQ的刪除,目標進度是刪除那麼下面放上今日筆記跟進度。

一、DELETE RECORD語法:

using (var ctx = new DBContext()){
     ctx.Table.Remove(RECORD);
     ctx.SubmitChanges();
     }

二、我的實際應用:

刪除狀態前會出現確認視窗,當確認後會進行刪除此筆狀態,然後將座位表有此狀態的座位設為走道。

我的程式碼
鏈結的部分(做成button)用到day17的javascript 的confirm(),還有day10的asp-route-id。

<a class="button special" asp-route-id=@tmp2 asp-controller="manageSeat" asp-action="deleteStatus" onclick="return confirm('Are you sure you want to delete status : @SSname[i]')">Delete Status</a>

.cs的部分程式碼

using (var ctx = new ithelp12Context()){
     var ds = ctx.TableStatus.Where(c => c.TStatusId == Int32.Parse(TSid1.Trim())).FirstOrDefault();;
     ctx.TableStatus.Remove(ds);
     var ns = ctx.TableStatus.Where(c => c.TStatusName == "走道" && c.TId == Int32.Parse(Tid.Trim())).FirstOrDefault();;
     var ds2 = ctx.TableDetail.Where(s => s.TStatusId == Int32.Parse(TSid1.Trim())).ToList();
     for(int i = 0 ; i < ds2.Count ; i++){
           ds2[i].TStatusId = ns.TStatusId;
           ds2[i].SName = "走道";}
    ctx.SaveChanges();
    var all = ctx.TableStatus.Where(s => s.TId == Int32.Parse(Tid.Trim())).ToList();
    for(int i = 0;i<all.Count;i++){
           TSid.Add(all[i].TStatusId);
           SSname.Add(all[i].TStatusName.Trim());
           SColor.Add(all[i].TStatusColor.Trim());
           }}}

實作結果
原TableDetail資料表。
https://ithelp.ithome.com.tw/upload/images/20200925/20130030UnxiIhD440.png
原TableStatus資料表。
https://ithelp.ithome.com.tw/upload/images/20200925/20130030uqCXdnbQvq.png
點選DELETE STATUS會跳處是否確定刪除狀態。
https://ithelp.ithome.com.tw/upload/images/20200925/20130030dTBmW74IVd.png
按下確定後就刪除完成,會回到setStatus頁面。
https://ithelp.ithome.com.tw/upload/images/20200925/20130030YBGAEyrmcy.png
Search中可以看到原本狀態為”維護中”的位子狀態變成”走道”了。
https://ithelp.ithome.com.tw/upload/images/20200925/20130030Di42ijQQC0.png
setSeat頁面中的下拉式選單也看不到此(維護中)選項。
https://ithelp.ithome.com.tw/upload/images/20200925/201300308C4vyaLACo.png
執行刪除後的TableDetail資料表。
https://ithelp.ithome.com.tw/upload/images/20200925/201300305iAGcZPn5V.png
執行刪除後的TableStatus資料表。
https://ithelp.ithome.com.tw/upload/images/20200925/20130030flpTs0CGpl.png
做到今天可以建一個看起來比較符合實際應用的座位表?
(像下面這樣~自己覺得好玩)
https://ithelp.ithome.com.tw/upload/images/20200925/20130030FfAgkO7YNM.png


DAY19心得:
今天做的超快,因為其實很簡單?明天開始可以進入複雜的修改座位表/images/emoticon/emoticon13.gif希望到時候有新的需要的技術可以學,那麼感謝點閱的各位,祝各位有個好夢。


上一篇
零經驗 .NET Core 30 DAY----- Day18 過半場休息,我終於完成新手任務
下一篇
零經驗 .NET Core 30 DAY----- Day20 功能實作[座位管理系統-管理座位表3]
系列文
零經驗ASP .NET Core 30 DAY全紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言